//这里是迭代后的第二版代码，仍然会超时
//判断自守数的函数用的是string，分别取出要判断的数字，直接用 string==string 的方法判断
#include<bits/stdc++.h>
using namespace std;
bool fun(int i){
    int sum=i*i;
    string ii=to_string(i);
    string summ=to_string(sum);
    reverse(ii.begin(),ii.end());
    reverse(summ.begin(),summ.end());
    int flag=1;
    for(int j=0;j<ii.size();j++){
        if(ii[j]!=summ[j]){
            flag=0;
            break;
        }
    }
    if(flag) return true;
    else return  false;
}

int main(){
	int n;
	cin>>n;
	while(n--){
		int m;cin>>m;
        int sum=0;
		for(int i=0;i<=m;i++){
			if(fun(i)) sum++;
		}
		cout<<sum;
        if(n) cout<<" ";
	}
}